Шаг 5 - Один объект CDAImage как фон для другого CDAImage (создаем овал).

Загрузить проект

В данном шаге мы создадим первую нашу фигуру. Фигура будет овал. Тут нам придется использовать два объекта. Создавая фигуру нам нужно передать в функцию создания (Oval) два объекта – фон (CDAImage) и стиль линии (CDALineStyle). В результате мы получим новый объект CDAImage который будет передан элементу управления.

5_1.gif (3066 b)

HTML&JScript
Visual Basic
Visual C++

HTML&JScript

Идея понятна, смотрим реализацию.

<SCRIPT language=JScript>
   mDAStatics = DAControl.PixelLibrary;
   myImg = mDAStatics.SolidColorImage(mDAStatics.Red);
   myOval=mDAStatics.Oval(50,80).Fill(mDAStatics.DefaultLineStyle,myImg);
   DAControl.Image = myOval; 
   DAControl.Start();
</SCRIPT>

И результат.

5_2.gif (4749 b)

Visual Basic

Создаем еще один объект изображения.

Dim mOValImage As DAImage
Dim mDAImage As DAImage
Dim mDAStatics  As DAStatics

Реализуем.

Private Sub Form_Load()
	Set mDAStatics = DAViewerControl1.PixelLibrary
	Set mDAImage = mDAStatics.SolidColorImage(mDAStatics.Red)
	Set mOValImage = mDAStatics.Oval(50, 80).Fill(mDAStatics.DefaultLineStyle, mDAImage)
	DAViewerControl1.Image = mOValImage
	DAViewerControl1.Start
End Sub

Смотрим результат.

5_3.gif (2446 b)

Visual C++

Подключаем описание необходимых классов.

.......
#include "dastatics.h"
#include "daimage.h"
#include "dacolor.h"
#include "dalinestyle.h"
#include "dapath2.h"
.......

Описываем новые переменные

......
class CVCDlg : public CDialog
{
// Construction
public:
	CVCDlg(CWnd* pParent = NULL);	// standard constructor
	CDAStatics mDAStatics;
	CDAImage mCDAImage;
	CDAImage mOvalImage;
	CDAColor mCDAColor;
	CDALineStyle mDALineStyle;
	// Dialog Data

Реализуем

	......
	// TODO: Add extra initialization here
	
	mDAStatics=m_DirectControl.GetPixelLibrary(); 
	mCDAColor = mDAStatics.GetRed();
	mCDAImage=mDAStatics.SolidColorImage(mCDAColor); 
	mDALineStyle = mDAStatics.GetDefaultLineStyle(); 
    	mOvalImage=mDAStatics.Oval(50,80).Fill( mDALineStyle ,mCDAImage);
	m_DirectControl.SetImage( mOvalImage);
	m_DirectControl.Start(); 
	return TRUE;  // return TRUE  unless you set the focus to a control
}

Смотрим результат.

5_4.gif (4174 b)

Hosted by uCoz